Broadcasting and processing multiple data formats

ABSTRACT

A method broadcasts data. The method includes sending to a receiver scheduling information that includes a scheduled time and broadcasting data at the scheduled time. The scheduling information identifies an encoding format and one or more viewer applications capable of processing the data broadcast.

BACKGROUND OF THE INVENTION

This invention relates to broadcasting and processing data.

Some digital televisions use a viewer application to process data from an audio or video broadcast. The viewer application decodes and presents homogeneous data from different content providers for listening or viewing.

Recently, several new content formats have been developed for data broadcasts. These new contents combine video data and with other content data that enables interactive viewing. New types of software viewer applications process the new content formats.

SUMMARY OF THE INVENTION

In a first aspect, the invention provides a method of broadcasting data. The method includes sending to a receiver scheduling information that includes a scheduled time and broadcasting data at the scheduled time. The scheduling information identifies one or more viewer applications capable of processing the broadcast data.

In a second aspect, the invention provides a method of processing data. The method includes receiving scheduling information that provides broadcast times for data broadcasts and information to identify viewer applications to process the data broadcasts. The method also includes receiving data from one of the broadcasts at the scheduled broadcast time and processing the received data with a viewer application responsive to the scheduling information.

In a third aspect, the invention provides a method of processing data. The method includes receiving scheduling information that provides broadcast times for data broadcasts and information for identifying viewer applications for processing the broadcasts. The method also includes writing the scheduling information to a scheduling table having entries indexed by scheduled broadcast times and channels.

In a fourth aspect, the invention provides a method of processing data. The method includes receiving data from a broadcast at a scheduled broadcast time and selecting a viewer application from a table of available viewer applications to process the data. The method also includes processing the received data with the selected viewer application.

Other features and advantages of the invention will be apparent from the following description and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network for broadcasting data in accordance with an embodiment of the invention;

FIG. 2 illustrates a device for viewing data broadcast on the network of FIG. 1 in accordance with an embodiment of the invention;

FIG. 3 is a flow chart illustrating a method of processing broadcasted data in accordance with an embodiment of the invention;

FIG. 4 shows a portion of an exemplary scheduling table in accordance with an embodiment of the invention;

FIG. 5 shows a portion of an exemplary viewer application selection table in accordance with an embodiment of the invention; and

FIG. 6 is a flow chart illustrating a method of broadcasting data in accordance with an embodiment of the invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a network 10 for broadcasting data from transmitters 11-13 to receivers 15-18. The transmitters 11-13 dynamically change the content format of the data in successive broadcasts. The receivers 15-18 dynamically adjust to process the different content formats differently.

Each receiver 15-18 includes a television with a programmable processor or a personal computer for presenting the broadcasts to viewers. The receivers 15-18 are dynamically reprogrammable to process data from different broadcasts differently.

The transmitters 11-13 broadcast the data through a transport medium 20, such as the Internet, i.e., in multicast group broadcasting, a cable network, a wireless network, a satellite network, and an Advanced Television Systems Committee (ATSC) network. The medium 20 has separate broadcast channels on which different transmitters 11-13 may broadcast. A viewer tunes his receiver 15-18 to one of the channels to receive data from the transmitter 11-13 using that channel.

The transmitters 11-13 broadcast data in a digital coded format. The broadcast data is received and processed by the receivers 15-18. The processing includes decoding the data and presenting the decoded data for audio listening or video viewing. Each receiver 15-18 can process several content formats of broadcast data.

The data of each broadcast belongs to one content format, but the broadcasts can have any format. The content formats may conform to standards and may contain additional features specific to particular content providers. The standards include the MPEG-2 standard, by the Motion Pictures Expert Group (MPEG), published in ISO/IEC directives 13818-1 to 13818-3, approved November 1994; the standard proposed in ATVEF comment Draft Specification version 1.1, published by the Advanced TV Enhancement Forum (ATEF) in July 1998; or another standard for coding video or audio data. The features specific to particular providers are enhancements to standard formats, e.g., Disney™ ATVEF format. The enhancements enable individual content providers to exercise control over processing performed by the receivers 15-18 as described below.

FIG. 2 shows the receiver 15 of FIG. 1 embodied in a personal computer 15′. The personal computer 15′ has a microprocessor 21 that can use several viewer applications 23-25 to process broadcast data received via line 21′, which connects to network interface 22. The viewer applications 23-25 are stored in a writable data storage device 26, e.g., a hard disk or random access memory (RAM). The viewer applications 23-25 enable the microprocessor 21 to decode the broadcast data received from the interface 22 and to present the decoded data on listening and visual viewing devices 29, 30.

The microprocessor 21 executes a control application 19 that selects an appropriate viewer application 23-25 to process data from each broadcast. The control application 19 uses a scheduling table 31 and a viewer application selection table 32 to select one of the viewer applications 23-25 for processing data from each broadcast. The scheduling and viewer application selection tables 31, 32 are also stored in the data storage device 26 and can be updated by the microprocessor 21.

A user can make new viewer applications 23-25 available to the microprocessor 21. To add a new viewer application 23-25, the user stores the new application 23-25 to the data storage device 26 and adds an entry for the new application 23-25 in a viewing application selection table 32. Each entry includes a number of parameters for identifying broadcast data that can be processed with the new viewer application 23-25. For example, the parameters may include a broadcast channel, content provider, and/or content format.

A content provider may make new viewer applications available to users, e.g., to support new features of content formats being produced by the provider. The new viewer applications may be distributed on magnetic or optical disks 27 in a form readable by a disk reader 28. The new viewer applications may also be distributed through an Internet site where a user can download the applications or broadcast over a satellite, ATSC, or cable network.

FIG. 3 is a flow chart for a method 40 by which a receiver, e.g., a receiver 15-18 of FIGS. 1-2, processes data broadcast by a transmitter, e.g., a transmitter 11-13. To start processing, a user tunes his or her receiver to a channel on which a transmitter broadcasts (step 41). In response to the selection, the receiver receives data broadcast on the selected channel (step 42). In response to receiving data from the selected channel, the receiver looks up schedule information with relevant characteristics for identifying the viewer application 23-25 to process the scheduled data broadcast (step 44). These characteristics may include the content provider and content format as shown in exemplary scheduling table 31. The characteristics may also include information on viewer ages, e.g., to stop children from seeing portions of some broadcasts. The look up includes comparing the actual broadcast time and channel with entries of the scheduling table 31, which are indexed by channel and time. The look up dynamically associates relevant characteristics, e.g. the individual content provider and content format, with each broadcast.

FIG. 4 shows a portion of one embodiment of the scheduling table 31 of FIG. 2. The scheduling table 31 has entries 32-35, which are indexed by broadcast time interval and channel in columns A and B, respectively. The entries 32-35 provide information for identifying one or more viewer applications 23-25 for processing a scheduled broadcast. In the exemplary table 31, the information includes an identity of a content provider and a content format in columns C and D for each broadcast. The content provider is the entity that created the broadcast data. Content providers include organizations, such as ABC™, NBC™, CBS™, and Disney™ that produce products for broadcast by different transmitters. Content providers may also include single transmitters, e.g., one of the transmitters 11-13, which broadcast data in special local formats.

Referring again to FIG. 3, information from the scheduling table 31 enables selections of viewer applications 23-25 adapted to processing the scheduled broadcast data. The receiver selects a viewer application 23-25 by using the information looked up in the scheduling table 31 as an index for finding entries 51-55 in the viewer application selection table 32 (step 46). The entries 51-55 list the viewer applications 23-25 that are presently available to the receiver.

Each entry of the scheduling table 31 identifies one or more entries for viewer applications 23-25 in the viewer application selection table 32. Each identified viewer application 23-25 can process the broadcast data associated with the entry in the scheduling table 31. The receiver 15′ selects a best entry from among the identified entries as described below. The receiver 15′ decodes and displays the data using the viewer application 23-25 associated with the best entry (step 48).

FIG. 5 shows a portion of one embodiment of the viewer application selection table 32 of FIG. 2. The viewer application selection table 32 has entries 51-55, which are indexed by information relevant to identifying a viewer application 23-25. Here, the data includes a broadcast channel, a content provider, and a content format in columns E, F, and G, respectively. Each entry 51-55 assigns one viewer application 23-25, in column H, to use to process broadcast data described by the information in columns E, F, and G, i.e., scheduling information.

The viewer application selection table 32 of FIG. 5 is an example of one such table. Other embodiments may employ viewer application selection tables 32 having other types of attribute value pairs in columns E, F, G, H.

Several entries 51-55 of the viewer application selection table may match information from one entry 32-35 of the scheduling table 31. For example, the entry 33 of the scheduling table 31 has broadcast channel 2, provider ABC™, and format ATVEF. These broadcast parameters match index fields of columns E, F, and G, for the entries 52-54 of the viewer application selection table 32. If multiple matches occur, the receiver 15′ selects the entry that best matches the scheduling information and uses the viewer application 23-25 associated with that entry to process the broadcast data.

In one embodiment, the best matching entry has more non-blank index columns than other matching entries of the viewer application selection table 32. If no matches occur with all non-blank entries, the receiver 15′ looks for a match with entries having one blank field. The search continues to less specific entries if matches are still not found, i.e., two blank fields, etc. In the above example, the entry 54 is the best match, because this entry 54 has two non-blank index columns F, G whereas the entries 52-53 only have one non-blank column each, i.e., columns F or G.

Some receivers assign weights to the columns E-G for use in determining which entry 51-55 is the best match. For example, the weights may be 1, 2, and 3 for columns E, F, and G, respectively. Then, an NBC™ broadcast of ATVEF data on channel 8 matches both entries 52 and 55 in the viewer application selection table 32 shown in FIG. 5. But, the receiver selects the Intel™ ATVEF viewer application from entry 52, because the weight of a match with the value of the column G is higher than that of a match with the value of column E. Thus, the entry 52 is the best match.

The viewer application selection table 32 provides multiple matches, because the receivers 15-18 of FIG. 1 have default applications among the viewer applications 23-25. The default applications can process many content formats. More specific matches provide viewer applications 23-25 that support additional features in broadcast data. For example, content provider ABC™ may incorporate special interactive features into its ATVEF content. Those features are presented to viewer if the receiver 15′ processes the ABC™ broadcast data with a Disney™ General Viewer of entry 54, i.e., a specific match. If the receiver 15′ does not have the Disney™ general viewer, the receiver 15′ processes ABC™ ATVEF broadcasts with the default Intel™ ATVEF viewer, i.e., associated with entry 52. The default viewer may not support the special interactive features incorporated by ABC™.

FIG. 6 is a flow chart illustrating a method 60 used by a transmitter, e.g., a transmitter 11-13 of FIG. 1, to broadcast data. The transmitter sends a scheduling message to the receivers, e.g., the receivers 15-18 of FIG. 1 (step 62). The scheduling message provides scheduling information for one or more broadcasts, i.e., one or more entries 33-35 in the scheduling table 31 shown in FIG. 4. The scheduling information may include time interval, channel, content provider, and/or content format.

In response to receiving a scheduling message, a receiver updates its scheduling table, e.g., the table 31 of FIG. 2 for the receiver 15. The receiver writes a new entry to its scheduling table for each new data broadcast announced by a received scheduling message.

In the network 10, the scheduling messages may also be sent over the same medium 20 of FIG. 1 that transports data for viewing or over a separate network. The separate network may be the Internet or a service information channel reserved for sending scheduling messages from the transmitters 11-13 to the receivers 15-18.

The transmitter broadcasts the scheduled data over the channel at the time period announced in the previous scheduling message (step 64). The scheduling messages are sent sufficiently ahead of data broadcasts to ensure that receivers can update their scheduling tables 31 prior to the broadcasts.

Other embodiments are within the scope of the following claims. 

1. A method of broadcasting data, comprising: sending to a receiver scheduling information that includes a scheduled time and identifies an encoding format, wherein the encoding format comprises a content format used to encode the data prior to broadcasting and apart from encoding the broadcast for transmission through a transport medium; wherein said scheduling information is capable of processing by the receiver to select one video viewer application from a plurality of video viewer applications which are stored on the receiver and are capable of processing the broadcast of data in the encoding format at the scheduled time, the plurality of video viewer applications comprising at least a first video viewer application associated with a particular television content provider and a second video viewer application functioning as a default video viewer application, the first video viewer application to present data broadcast by the particular television content provider as viewable video content which includes additional interactive features incorporated by the particular television content provider, the default video viewer application to present the data broadcast by the particular television content provider as viewable video content without the additional interactive features; and broadcasting the data at the scheduled time.
 2. The method of claim 1, wherein the sent information identifies one of a viewer age and a content provider for the data.
 3. The method of claim 2, wherein the sent information identifies a channel for broadcasting the data; and the broadcast transmits the data in the identified channel.
 4. The method of claim 3, wherein the identified channel comprises one of a cable channel, a wireless channel, and a multicast group address.
 5. The method of claim 1, wherein the viewer applications decode broadcasted data.
 6. The method of claim 1, wherein the broadcasting starts at a predetermined time after the sending of the information.
 7. The method of claim 1, wherein the content format is an ATVEF format.
 8. The method of claim 1, further comprising: sending second information about a second scheduled time and content format for a broadcast of new data, the second content format being indicative of a new viewer application for processing the new data; and then broadcasting the new data during the second scheduled time.
 9. A method of processing data, comprising: receiving scheduling information providing broadcast times for data broadcasts and information to identify an encoding format, wherein the encoding format comprises a content format used to encode the data prior to broadcasting and apart from encoding the broadcast for transmission through a transport medium; processing the scheduling information to select a video viewer application from a plurality of video viewer applications which are stored at a receiver and are capable of processing the data broadcasts in the encoding format at the broadcast times, the plurality of video viewer applications comprising at least a first video viewer application associated with a particular television content provider and a second video viewer application functioning as a default video viewer application, the first video viewer application to present data broadcast by the particular television content provider as viewable video content which includes additional interactive features incorporated by the particular television content provider, the default video viewer application to present the data broadcast by the particular television content provider as viewable video content without the additional interactive features; receiving data from one of the broadcasts at the scheduled broadcast time; and processing the received data with a selected video viewer application.
 10. The method of claim 9, wherein the scheduling information identifies channels scheduled to broadcast the data.
 11. The method of claim 9, wherein the scheduling information associated with a portion of the broadcasts identifies one of content formats, viewer ages, and content providers of the associated data.
 12. The method of claim 9, wherein the processing comprises: decoding the received data.
 13. A method of processing data, comprising: receiving scheduling information that provides broadcast times for data broadcasts and information for identifying an encoding format, wherein the encoding format comprises a content format used to encode the data prior to broadcasting and apart from encoding the broadcast for transmission through a transport medium; writing the scheduling information to a scheduling table having entries indexed by scheduled broadcast times and channels; and processing the scheduling information to select a video viewer application from a plurality of video viewer applications which are stored at a receiver and are capable of processing the data broadcasts in the encoding format at the broadcast times, the plurality of video viewer applications comprising at least a first video viewer application associated with a particular television content provider and a second video viewer application functioning as a default video viewer application, the first video viewer application to present data broadcast by the particular television content provider as viewable video content which includes additional interactive features incorporated by the particular television content provider, the default video viewer application to present the data broadcast by the particular television content provider as viewable video content without the additional interactive features.
 14. A system for receiving data broadcasts, comprising: an interface to receive scheduling information that provides broadcast times and broadcasts of data in an encoding format, wherein the encoding format comprises a content format used to encode the data prior to broadcasting and apart from encoding the broadcast for transmission through a transport medium; a data storage device storing a plurality of video viewer applications to decode the broadcasts of data, the plurality of video viewer applications comprising at least a first video viewer application associated with a particular television content provider and a second video viewer application functioning as a default video viewer application, the first video viewer application to present data broadcast by the particular television content provider as viewable video content which includes additional interactive features incorporated by the particular television content provider, the default video viewer application to present the data broadcast by the particular television content provider as viewable video content without the additional interactive features; and a processor coupled to the data storage device, the processor to process the scheduling information to select video viewer applications from a plurality of video viewer applications on said data storage device and capable of processing the broadcasts of data at the broadcast times in the encoding format for the broadcasts.
 15. The system of claim 14, wherein the data storage device further stores an executable control application for updating a scheduling table in response to receiving new scheduling information for a broadcast of data.
 16. The system of claim 15, wherein the control application selects the viewer application to decode data based on information from the scheduling table.
 17. The system of claim 15, wherein the control application selects the viewer application based on availability data for the viewer applications stored in a viewer application selection table.
 18. A data storage device encoding computer executable instructions for a method of broadcasting data, the instructions to cause a system to: send scheduling information to a receiver about a scheduled time and encoding format for a broadcast of data, wherein the encoding format comprises a content format used to encode the data prior to broadcasting and apart from encoding the broadcast for transmission through a transport medium, wherein said scheduling information is capable of processing by the receiver to select one video viewer application from a plurality of video viewer applications which are stored on the receiver and are capable of processing the broadcast of data in the encoding format at the scheduled time, the plurality of video viewer applications comprising at least a first video viewer application associated with a particular television content provider and a second video viewer application functioning as a default video viewer application, the first video viewer application to present data broadcast by the particular television content provider as viewable video content which includes additional interactive features incorporated by the particular television content provider, the default video viewer application to present the data broadcast by the particular television content provider as viewable video content without the additional interactive features; and broadcast the data at the scheduled time.
 19. The device of claim 18, wherein the information identifies one of a content provider, a viewer age, and a scheduled broadcast channel for the data.
 20. The device of claim 18, wherein the instructions further cause the system to broadcast the data at a predetermined time after the sending of the information.
 21. The device of claim 18, wherein the instructions further cause the system to: broadcast second information about a second scheduled time and content format for a broadcast of new data, the second content format being indicative of another viewer application selected from a plurality of viewer applications to process the new data; and then, broadcast the new data at the second scheduled time.
 22. A data storage device storing executable instructions, the instructions to cause a computer to: receive scheduling information for encoding formats and broadcast times of broadcasts of data, wherein the encoding format comprises a content format used to encode the data prior to broadcasting and apart from encoding the broadcast for transmission through a transport medium; process the scheduling information to select a video viewer application from a plurality of video viewer applications which are stored at a receiver and are capable of processing the broadcasts of data in the encoding format at the broadcast times, the plurality of video viewer applications comprising at least a first video viewer application associated with a particular television content provider and a second video viewer application functioning as a default video viewer application, the first video viewer application to present data broadcast by the particular television content provider as viewable video content which includes additional interactive features incorporated by the particular content provider, the default video viewer application to present the data broadcast by the particular television content provider as viewable content without the additional interactive features; receive data from one of the broadcasts at a scheduled broadcast time; and process the received data with a video viewer application for processing in the encoding format.
 23. The device of claim 22, wherein the scheduling information identifies channels scheduled to broadcast the data.
 24. The device of claim 22, wherein the instructions to process further causes the computer to: decode the received data.
 25. The device of claim 22, the instructions further causing the computer to: write the scheduling information to a scheduling table having entries indexed by scheduled broadcast times; and wherein the instruction causing the computer to process causes the computer to select the viewer application based on data from the scheduling table.
 26. The device of claim 22, wherein the instruction causing the computer to process causes the computer to: select the viewer application from a viewer application selection table listing available viewer applications. 